Docker容器Removal In Progress删除方案

1、删除无用容器时报错

1
2
3
[root@node3 ~]# docker rm ms-product.20190517
ms-product.20190517
Error response from daemon: container c4739fbec54da9ce6e18a14dc90a0f97da0d62a48df6f54c1e9ee94253e71ce8: driver "overlay" failed to remove root filesystem: remove /data/docker/overlay/abb6dcd4eebf472581036d0970829e9f1cecfcaa53b942a4ba29b8da143d9ac9/merged: device or resource busy

2、查看还有哪个进程占用了容器资源

1
2
3
4
5
6
7
[root@node3 ~]# grep docker /proc/*/mountinfo | grep c4739fbec54d
/proc/159001/mountinfo:1326 1301 0:183 / /var/lib/docker/containers/c4739fbec54da9ce6e18a14dc90a0f97da0d62a48df6f54c1e9ee94253e71ce8/mounts/shm rw,nosuid,nodev,noexec,relatime - tmpfs shm rw,size=65536k
/proc/159001/mountinfo:1418 1393 0:183 / /var/lib/docker/overlay/8700c0ace6dc832714c7f9906423082f6c3345cc07b938f8a2515659f73f563e/merged/rootfs/data/docker/containers/c4739fbec54da9ce6e18a14dc90a0f97da0d62a48df6f54c1e9ee94253e71ce8/mounts/shm rw,nosuid,nodev,noexec,relatime - tmpfs shm rw,size=65536k

[root@node3 ~]# ps auxwf |grep 159001
root 181519 0.0 0.0 112648 980 pts/0 S+ 09:27 0:00 | \_ grep --color=auto 159001
root 159001 7.7 0.1 6483088 104544 ? Ssl May07 1450:08 | | \_ /usr/bin/cadvisor -logtostderr

可以看出是cadvisor容器正在占用了其它容器的资源

3、停止cadvisor

1
[root@node3 ~]# docker stop cadvisor

4、再次执行删除

1
2
[root@node3 ~]# docker rm ms-product.20190517
ms-product.20190517